extern crate winrt_notification;
use winrt_notification::{Duration, Sound, Toast};
use std::env;
use winrt_notification::IconCrop;
use std::path::Path;

fn main() {
    // 获取命令行参数
    let args: Vec<String> = env::args().collect();
    
    // 检查参数数量是否正确
    if args.len() < 4 {
        eprintln!("用法: {} <标题> <文本内容> <图标路径>", args[0]);
        return;
    }

    // 使用命令行参数作为Toast通知的标题和文本内容
    let title = &args[1];
    let text = &args[2];
    let icon = &Path::new(&args[3]);

    Toast::new(Toast::POWERSHELL_APP_ID)
        .icon(
            icon,
            IconCrop::Circular,
            "alt text",
        )
        .title(title)
        .text1(text)
        .sound(Some(Sound::SMS))
        .duration(Duration::Short)
        .show()
        .expect("无法显示通知");
}
